package com.bosssoft.user.permission.center.serve.dao.mapper;

import com.bosssoft.user.permission.center.serve.dao.entity.Role;
import com.bosssoft.user.permission.center.serve.dao.entity.TreeNode;
import com.bosssoft.user.permission.center.serve.pojo.vo.UserWorkInfo;
import com.bosssoft.user.permission.center.serve.pojo.query.UserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;

import java.util.HashMap;
import java.util.List;

@Component
@Mapper
public interface UserEntityMapper {
    List<UserEntity> queryUserList(UserEntity userEntity);
    List<UserEntity> selectUserInfo1(UserEntity userEntity);
    List<UserEntity> selectUserInfo(HashMap<String,Object> map);
    int insert(UserEntity userEntity);
    int deleteUsersByIds(List<String> ids);
    int deleteUserById(UserEntity userEntity);
    int updateByUserId(UserEntity userEntity);
    int updateStatus(UserEntity userEntity);
    int updateBasicUserStatus(HashMap<String,Object> map);
    int insertUserRole(HashMap<String,Object> allocateInfo);
    int deleteUserRole(HashMap<String,Object> allocateInfo);
    List<Role> selectRoleList();
    List<Long> selectUserRoleByName(String userCharacter);
    List<Role> selectUserRole(String userId);
    int insertBasicUser(HashMap<String,Object> hashmap);
    int updateBasicUser(HashMap<String,Object> hashmap);
    int deleteBasicUser(String code);
    int deleteBasicUsers(List<String> ids);
    List<UserWorkInfo> selectUserPosition();
    List<UserWorkInfo> selectUserDepartment();
    List<TreeNode> selectDepartmentTree();
    List<TreeNode> selectPositionTree();
    List<TreeNode> selectRoleTree();
    List<String> selectMenuPaths();

    List<TreeNode> selectTree(Long tenantId);
}
